package com.yl.student.mapper;
import com.yl.student.bean.entity.LoginInfo;
import com.yl.student.bean.entity.ShopInfo;
import com.yl.student.bean.entity.UserInfo;
import org.apache.ibatis.annotations.Param;

public interface LoginInfoMapper {
    /**
     * 进行登陆验证
     * @param userId
     * @param pwd
     * 使用@Param将()中的内容与形参绑定起来
     * @return 返回该记录的唯一表示，用来在登陆之后关联其他表展示对应的信息
     */
    String validateLogin(@Param("userId") String userId, @Param("pwd") String pwd,@Param("role") String role);

    /**
     *向登陆信息表中插入数据(主要包含用户名、密码等)，作为一个关系表
     * @param loginInfo:登陆信息
     * @return ：返回成功插入的记录条数
     */
    int registerUserLoginInfo(LoginInfo loginInfo);

    /**
     * 向用户信息表中插入其他信息
     * @param userInfo：用户其他信息
     * @return : 返回成功插入的记录条数
     */
    int registerUserInfo(UserInfo userInfo);

    /**
     * 同样，这个是商家注册信息
     * @return
     */
    int registerShopLoginInfo(LoginInfo loginInfo);
    int registerShopInfo(ShopInfo shopInfo);

    /**
     * 不能使用户名相同的情况发生
     * @param loginInfo：用户的注册登陆信息
     * @return 用户名总个数
     */
    int getUserIdCount(LoginInfo loginInfo);
}
